#!/usr/bin/env ruby

LKP_SRC = ENV['LKP_SRC'] || File.dirname(File.dirname(File.realpath($PROGRAM_NAME)))

require "#{LKP_SRC}/lib/string_ext"
require "#{LKP_SRC}/lib/statistics"

key_types = {
  # "Transactions",
  # "Availability",
  "Elapsed_time" => "LAT",
  # "Data transferred",
  "Response_time" => "LAT",
  "Transaction_rate" => "RATE",
  "Throughput" => "RATE",
  # "Concurrency",
  # "Successful transactions",
  # "Failed transactions",
  "Longest transaction" => "LAT",
}


results = {}

while (line = $stdin.gets)
  line = line.resolve_invalid_bytes

  case line.chomp!
  when /^([a-zA-Z ]+):[\t\s]+([\d.]+)( (\S+))?/
    key = $1.tr(' ', '_')
    value = $2
    unit = $4
    type = key_types[key]
    next unless type
    key = "#{type}.#{key}"
    key += ".#{unit}" if unit
    results[key] ||= []
    results[key] << value.to_f
  end
end

results.each { |k, v| puts "#{k}: #{v.average}" }
